home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / pvap322a / pvapfree.plp < prev    next >
Text File  |  1993-11-30  |  10KB  |  369 lines

  1. /************************************************************************
  2. *    自由行動                            *
  3. ************************************************************************/
  4. /*    自由行動メイン    */
  5. %freemain{
  6.     chat({Yes});
  7.     loop({
  8.     footnote({終了受信送信QV                        ▲▲CHAT},{b});
  9.     waitx({});
  10.     case    (@xtype,
  11.         {101},freeend,{201},freeend,
  12.         {102},{writelog;im({Yes})},
  13.         {202},{writelog;im({Yes})},
  14.         {104},{QVAN;im({Yes})},
  15.         {204},{QVAN;im({Yes})},
  16.         {103},{SENDTEXT;im({Yes})},
  17.         {203},{SENDTEXT;im({Yes})},
  18.         {111},{CHATMODE;im({Yes})},
  19.         {211},{CHATMODE;im({Yes})},
  20.         {112},{CHATMODE;im({Yes})},
  21.         {212},{CHATMODE;im({Yes})}
  22.         ,,{im({Yes})});
  23.     });
  24. };
  25.  
  26. /*    自由行動終了    */
  27. %freeend{
  28.     SNDMSG({kaknin_f.snd});
  29.     footnote({終了します  よろしいですか?});
  30.     select({終了します  よろしいですか?},99999,{im({Yes})},
  31.         {  はい  },
  32.             {case    (REC,
  33.                 {Yes},    {REC:={No};stoprec});
  34.             chat({No});im({No})},
  35.         { いいえ },{im({Yes})});
  36. };
  37.  
  38. /*    自由行動中のログ保存    */
  39. %writelog{
  40.     case    (REC={Yes},
  41.         {Yes},    {display({\nログの保存終了\n});REC:={No};stoprec},
  42.         {No},    {display({\nログの保存開始\n});
  43.             case    (SAVE={JUMPCODE}||SAVE={BOARD},
  44.                 {Yes},
  45.                 {receive(LOGPATH|{\}|JUMP|{\}|LOGFILE);
  46.                 REC:={Yes}},
  47.                 {No},
  48.                 {receive(LOGPATH|{\VANLOG\}|LOGFILE);
  49.                 REC:={Yes}})});
  50. };
  51.  
  52. /*    Quick-VANでの処理選択    */
  53. %QVAN{
  54.     SNDMSG({erande_f.snd});
  55.     select({選択して下さい},99999,,
  56.         { ダウンロード },QVDOWN,
  57.         { アップロード },QVUP);
  58. };
  59.  
  60. /*    Quick-VANでのダウンロード処理    */
  61. %QVDOWN{
  62.     case(REC={Yes},{Yes},{stoprec});
  63.     var SENDFILE[64];
  64.     SNDMSG({nyuryo_f.snd});
  65.     footnote({格納するディレクトリに移動して右クリックして下さい});
  66.     filesel;
  67.     display(BELL);
  68.     footnote({ダウンロード中});
  69.     case    (DIR2={},
  70.         {No},    {command(DIR2|{\QV})},
  71.         {Yes},    {command({QV})});
  72.     wait({2});type({\n});
  73.     wait({60},STOP,{リターンキーを押して下さい=},);
  74.     type({\n});
  75.     case    (REC={Yes},
  76.         {Yes},    {case    (SAVE,
  77.                 {WHOLE},
  78.                 {receive(LOGPATH|{\VANLOG\}|LOGFILE)},,
  79.                 {receive(LOGPATH|{\}|JUMP|{\}|LOGFILE)})});
  80.     setcdir(DIR1);
  81. };
  82.  
  83. /*    Quick-VANでのアップロード処理    */
  84. %QVUP{
  85.     case(REC={Yes},{Yes},{stoprec});
  86.     var SENDFILE[64];
  87.     SNDMSG({nyuryo_f.snd});
  88.     footnote({アップロードするファイルを指定して下さい});
  89.     SENDFILE:=@filesel;
  90.     case    (SENDFILE={},
  91.         {No},    {case    (@nochar(@getcdir)=3,
  92.                 {Yes},    {SENDFILE:=@getcdir|SENDFILE},
  93.                 {No},    {SENDFILE:=@getcdir|{\}|SENDFILE});
  94.             display(BELL);
  95.             footnote({アップロード中});
  96.             case    (DIR2={},
  97.                 {No},    {command(DIR2|{\QV -s }|SENDFILE)},
  98.                 {Yes},    {command({QV -s }|SENDFILE)})});
  99.     wait({2});type({\n});
  100.     case    (REC={Yes},
  101.         {Yes},    {case    (SAVE,
  102.                 {WHOLE},
  103.                 {receive(LOGPATH|{\VANLOG\}|LOGFILE)},,
  104.                 {receive(LOGPATH|{\}|JUMP|{\}|LOGFILE)})});
  105.     setcdir(DIR1);
  106. };
  107.  
  108. /*    テキストファイルの送信処理    */
  109. %SENDTEXT{
  110.     case(REC={Yes},{Yes},{stoprec});
  111.     var SENDFILE[64];
  112.     SNDMSG({nyuryo_f.snd});
  113.     footnote({送信するテキストファイルを指定して下さい});
  114.     SENDFILE:=@filesel;
  115.     case    (SENDFILE={},
  116.         {No},    {case    (@nochar(@getcdir)=3,
  117.                 {Yes},    {SENDFILE:=@getcdir|SENDFILE},
  118.                 {No},    {SENDFILE:=@getcdir|{\}|SENDFILE});
  119.             display(BELL);
  120.             footnote({テキストファイル送信中});
  121.             send(SENDFILE)});
  122.     case    (REC={Yes},
  123.         {Yes},    {case    (SAVE,
  124.                 {WHOLE},
  125.                 {receive(LOGPATH|{\VANLOG\}|LOGFILE)},,
  126.                 {receive(LOGPATH|{\}|JUMP|{\}|LOGFILE)})});
  127.     setcdir(DIR1);
  128. };
  129.  
  130. /*    CHATモード前のメモチェック    */
  131. %CHATMODE{
  132.     case    (memono>8,
  133.         {Yes},    {SNDMSG({kaknin_f.snd});
  134.             footnote({メモ8-9を削除してもよろしいですか?});
  135.             select({メモ8-9を削除してもよろしいですか?});
  136.                 99999,,
  137.             {  はい  },    {%memono {8};OPENMEMO;chatmode},
  138.             { いいえ },)},
  139.         {No},    {OPENMEMO;chatmode});
  140. };
  141.  
  142. /*    送信用文章表示メモ    */
  143. %OPENMEMO{
  144.     CloseAllMemo;
  145.     delfile(TEMPPATH|{\PVAPCHAT.MEN});
  146.     madd(memono,{\n});
  147.     mclear(memono);
  148.     case    (@filechk(DIR1|{\PVAPCHAT.DAT}),
  149.         {Yes},{mread(DIR1|{\PVAPCHAT.DAT},memono)});
  150.     mopen(memono,0,21,485,201,{w});
  151.     mclose(1);
  152. };
  153.  
  154. /*    CHATモードメイン    */
  155. %chatmode{
  156.     %entermen{
  157.     write(TEMPPATH|{\PVAPCHAT.MEN},
  158.         @head(@body(@laststr(45),{:}),{]})|{\n});
  159.     case(@mcheck={0},{No},{mclose(1)});
  160.     madd(memono+1,{\n});
  161.     mclear(memono+1);
  162.     mread(TEMPPATH|{\PVAPCHAT.MEN},memono+1);
  163.     mopen(memono+1,495,21,639,201,{r});
  164.     mclose(1);
  165.     };
  166.  
  167.     %endmen{
  168.     var MENDATA[1000];
  169.     MENDATA:=@read(TEMPPATH|{\PVAPCHAT.MEN});
  170.     %NOLINE @noline(MENDATA);
  171.     %ENDMEN @head(@body(@laststr(50),{:}),{]});
  172.     C:=1;
  173.     %chkhandle{
  174.     loop({
  175.     case    (@head(@getline(MENDATA,C,1),{\n}),ENDMEN,
  176.         {delfile(TEMPPATH|{\PVAPCHAT.MEN});
  177.         write    (TEMPPATH|{\PVAPCHAT.MEN},
  178.             @getline(MENDATA,1,C-1)|
  179.             @getline(MENDATA,C+1));
  180.         case(@mcheck={0},{No},{mclose(1)});
  181.         madd(memono+1,{\n});
  182.         mclear(memono+1);
  183.         mread(TEMPPATH|{\PVAPCHAT.MEN},memono+1);
  184.         mopen(memono+1,495,21,639,201,{r});
  185.         mclose(1);
  186.         im({No})},,{case(NOLINE=C,
  187.                 {Yes},    {im({No})},,
  188.                     {C:=C+1;im({Yes})})});
  189.     });
  190.     };
  191.     case(NOLINE={0},{No},chkhandle);
  192.     };
  193.  
  194.     loop({
  195.     footnote({▼▼受信/U移動エコー 拒否                        },{b});
  196.     waitx(180,,    {【漢字】},            entermen,
  197.             {アクセスしました。},        {display(BELL);
  198.                             entermen},
  199.             {終了しました。},        endmen,
  200.             {チャンネルを移動しました。},    endmen);
  201.     case    (@xtype,
  202.         {101},    {AllDelMEMO;
  203.             im({No})},
  204.         {201},    {AllDelMEMO;
  205.             im({No})},
  206.         {102},    {writelog;im({Yes})},
  207.         {202},    {writelog;im({Yes})},
  208.         {103},    {delfile(TEMPPATH|{\PVAPCHAT.MEN});
  209.             type({/U\n});
  210.             im({Yes})},
  211.         {203},    {delfile(TEMPPATH|{\PVAPCHAT.MEN});
  212.             type({/U\n});
  213.             im({Yes})},
  214.         {104},    {CH;im({Yes})},
  215.         {204},    {CH;im({Yes})},
  216.         {105},    {SNDMSG({erande_f.snd});
  217.             select({選択して下さい},99999,,
  218.                 { エコーON  (/ECON)},
  219.                     {type({/ECON\n})},
  220.                 { エコーOFF(/ECOF)},
  221.                     {type({/ECOF\n})});
  222.             im({Yes})},
  223.         {205},    {SNDMSG({erande_f.snd});
  224.             select({選択して下さい},99999,,
  225.                 { エコーON  (/ECON)},
  226.                     {type({/ECON\n})},
  227.                 { エコーOFF(/ECOF)},
  228.                     {type({/ECOF\n})});
  229.             im({Yes})},
  230.         {106},    {SNDMSG({erande_f.snd});
  231.             select({選択して下さい},99999,,
  232.                 { メッセージ拒否(/RCA)},
  233.                     {type({/RCA\n})},
  234.                 { 解除     (/PCA)},
  235.                     {type({/PCA\n})});
  236.             im({Yes})},
  237.         {206},    {SNDMSG({erande_f.snd});
  238.             select({選択して下さい},99999,,
  239.                 { メッセージ拒否(/RCA)},
  240.                     {type({/RCA\n})},
  241.                 { 解除     (/PCA)},
  242.                     {type({/PCA\n})});
  243.             im({Yes})},
  244.         memono,    {MEMOINPUT;im({Yes})},
  245.         memono+1,{DOUBLE;im({Yes})},,
  246.             {im({Yes})});
  247.     });
  248. };
  249.  
  250. /*    チャンネルを移動する    */
  251. %CH{
  252.     SNDMSG({nyuryo_f.snd});
  253.     %ch @input({移動したいチャンネル番号を入力して下さい},{c});
  254.     case    (ch={},
  255.         {No},    {delfile(TEMPPATH|{\PVAPCHAT.MEN})
  256.             type({/CH}|ch|{\n})});
  257. };
  258.  
  259. /*    /PFか/CAか/Pなのかを判定する    */
  260. %DOUBLE{
  261.     SNDMSG({erande_f.snd});
  262.     select({選択して下さい},99999,,
  263.         { プロフィール参照  (/PF)},VIEWPROF,
  264.         { メッセージ送信    (/CA)},SENDMES,
  265.         { プライベートトーク(/P  )},PRIVATE);
  266. };
  267.  
  268. /*    メモに書かれた文をinput文の入力項に出力    */
  269. %MEMOINPUT{
  270.     %LineNo @xlinenum;%MemoLine @nolmemo(memono);
  271.     %line1    @case    (LineNo>MemoLine,
  272.             {Yes},{im(@memo(memono,MemoLine,1))},
  273.             {No},{case    (LineNo<=0,
  274.                     {Yes},{im(@memo(memono,1,1))},
  275.                     {No},{im(@memo(memono,LineNo,1))})});
  276.     %sendsent @input({},{u},@head(line1,{\n}));
  277.     case(sendsent={},{No},{type(sendsent|{\n})});
  278.     mclose(1);
  279. };
  280.  
  281. /*    特定の人にメッセージを送る    */
  282. %SENDMES{
  283.     %LineNo @xlinenum;%MemoLine @nolmemo(memono+1);
  284.     %line1    @case    (LineNo>MemoLine,
  285.             {Yes},{im(@memo(memono+1,MemoLine,1))},
  286.             {No},{case    (LineNo<=0,
  287.                     {Yes},{im(@memo(memono+1,1,1))},
  288.                     {No},{im(@memo(memono+1,LineNo,1))})});
  289.     var MENNUM[5];
  290.     MENNUM:={ }|@nth(line1,1,{:});
  291.     MENNUM:=@tail(MENNUM,{ });
  292.     type({/CA}|MENNUM|{\n});
  293.     SNDMSG({nyuryo_f.snd});
  294.     %sendmes @input({送信するメッセージを入力して下さい},{c});
  295.     type(sendmes|{\n});
  296.     mclose(1);
  297. };
  298.  
  299. /*    プロフィールを見る    */
  300. %VIEWPROF{
  301.     %LineNo @xlinenum;%MemoLine @nolmemo(memono+1);
  302.     %line1    @case    (LineNo>MemoLine,
  303.             {Yes},{im(@memo(memono+1,MemoLine,1))},
  304.             {No},{case    (LineNo<=0,
  305.                     {Yes},{im(@memo(memono+1,1,1))},
  306.                     {No},{im(@memo(memono+1,LineNo,1))})});
  307.     var MENNUM[5];
  308.     MENNUM:={ }|@nth(line1,1,{:});
  309.     MENNUM:=@tail(MENNUM,{ });
  310.     type({/PF}|MENNUM|{\n});
  311.     mclose(1);
  312. };
  313.  
  314. /*    プライベートトーク    */
  315. %PRIVATE{
  316.     %LineNo @xlinenum;%MemoLine @nolmemo(memono+1);
  317.     %line1    @case    (LineNo>MemoLine,
  318.             {Yes},{im(@memo(memono+1,MemoLine,1))},
  319.             {No},{case    (LineNo<=0,
  320.                     {Yes},{im(@memo(memono+1,1,1))},
  321.                     {No},{im(@memo(memono+1,LineNo,1))})});
  322.     var MENNUM[5];
  323.     MENNUM:={ }|@nth(line1,1,{:});
  324.     MENNUM:=@tail(MENNUM,{ });
  325.     type({/P}|MENNUM|{\n});
  326.     mclose(1);
  327. };
  328.  
  329. /*    自由行動するかどうかの判定・実行    */
  330. %memono @mlast+1;
  331. case    (TIMER,
  332.     {Yes},    {display({\n指定時刻の通信の為自由行動は省きます\n})},
  333.     {No},    {SNDMSG2({hajima_f.snd});
  334.         display({\n只今より自由行動を開始します\n});
  335.         %JUMP {FREELOG};
  336.         %NOWRITE {
  337.         case    (REC={Yes},{Yes},{stoprec;REC:={No}});
  338.         case    (SAVE={JUMPCODE}||SAVE={BOARD},
  339.             {Yes},    {mkdir2(LOGPATH|{\}|JUMP);
  340.                 LOGFILE:=@crefile(LOGPATH|{\}|JUMP,{LOG})},
  341.             {No},    {case    (preser={ 1},
  342.                     {No},
  343.                     {mkdir2(LOGPATH|{\VANLOG});
  344.                     LOGFILE:=@crefile(LOGPATH|{\VANLOG},
  345.                         {LOG})})});
  346.         };
  347.  
  348.         SNDMSG({erande_f.snd});
  349.         footnote({自由行動中のログを保存しますか?});
  350.         select({自由行動中のログを保存しますか?},99999,NOWRITE,
  351.             {  する  },{case(SAVE={JUMPCODE}||SAVE={BOARD},
  352.                     {Yes},
  353.                     {mkdir2(LOGPATH|{\}|JUMP);
  354.                     LOGFILE:=@crefile(LOGPATH|{\}|
  355.                         JUMP,{LOG});
  356.                     receive(LOGPATH|{\}|JUMP|{\}|LOGFILE);
  357.                     REC:={Yes}},
  358.                     {No},
  359.                     {case    (REC={Yes},
  360.                         {No},
  361.                         {mkdir2(LOGPATH|{\VANLOG});
  362.                         LOGFILE:=@crefile(LOGPATH|
  363.                             {\VANLOG},{LOG});
  364.                         receive(LOGPATH|{\VANLOG\}|
  365.                             LOGFILE);
  366.                         REC:={Yes}})})},
  367.             { しない },{NOWRITE});
  368.         freemain});
  369.